class Solution {
public:
    vector<int> dailyTemperatures(vector<int>& temperatures) {
        stack<int> s;
        int n = temperatures.size();
        vector<int> ret;
        ret.resize(n,0);
        for(int i = n-1;i>=0;i--)
        {
            int t = temperatures[i];//首先获取当天的温度
            while(!s.empty()&&t>=temperatures[s.top()])//如果栈中的元素不为空，然后当天的温度大于之前的温度
            //那么就让之前的温度消失
            {
                s.pop();
            }
            if(!s.empty())//到这里栈中的就是大于我现在这一天的温度了
            {
                ret[i] = s.top()-i;
            }
            //如果没有进入到上一步的if中说明，我这一天后面没有超过我的温度了直接为0
            s.push(i);//将我这一天插入
        }
        return ret;        
    }
};//每日温度